﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LowLevelGraphics.Filter
{
    /// <summary>
    /// J = edgetaper(I,PSF) blurs the edges of the input image I using the point spread function PSF. The size of the PSF cannot exceed half of the image size in any dimension.
    /// The output image J is the weighted sum of the original image I and its blurred version. The weighting array, determined by the autocorrelation function of PSF, makes J equal to I in its central region, and equal to the blurred version of I near the edges.
    /// The edgetaper function reduces the ringing effect in image deblurring methods that use the discrete Fourier transform, such as deconvwnr, deconvreg, and deconvlucy.  
    /// </summary>
    public class edgetaper : BaseImageFilter
    {
        /// <summary>
        /// 
        /// </summary>
        public edgetaper()
        {
        }

        /// <summary>
        /// used to clone this instance
        /// </summary>
        /// <param name="_edgetaper"></param>
        internal edgetaper(edgetaper _edgetaper)
        {
        }

        /// <summary>
        /// Clones this instance
        /// </summary>
        /// <returns></returns>
        public override object Clone()
        {
            return new edgetaper(this);
        }
    }
}
